[INFO] cloning repository https://github.com/axion014/json-trait
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/axion014/json-trait" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faxion014%2Fjson-trait", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faxion014%2Fjson-trait'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 33114dc0f97f6835627d65c65b81fe161a6b44de
[INFO] checking axion014/json-trait against master#9610dfe5a9a731ced1ea4923ecbd0c57fe367898 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faxion014%2Fjson-trait" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/axion014/json-trait on toolchain 9610dfe5a9a731ced1ea4923ecbd0c57fe367898
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/axion014/json-trait
[INFO] finished tweaking git repo https://github.com/axion014/json-trait
[INFO] tweaked toml for git repo https://github.com/axion014/json-trait written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/axion014/cc-traits`
[INFO] [stderr]     Updating git repository `https://github.com/axion014/inline-json`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 717249493d72f4c7b32db230b27a9f551f8091291a10a816cac12a78451ff8f3
[INFO] running `Command { std: "docker" "start" "-a" "717249493d72f4c7b32db230b27a9f551f8091291a10a816cac12a78451ff8f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "717249493d72f4c7b32db230b27a9f551f8091291a10a816cac12a78451ff8f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "717249493d72f4c7b32db230b27a9f551f8091291a10a816cac12a78451ff8f3", kill_on_drop: false }`
[INFO] [stdout] 717249493d72f4c7b32db230b27a9f551f8091291a10a816cac12a78451ff8f3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+9610dfe5a9a731ced1ea4923ecbd0c57fe367898" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f63ac2ab5704f953ca0d852463b511738f5fdc0f9d81d3faa36383b1d884adba
[INFO] running `Command { std: "docker" "start" "-a" "f63ac2ab5704f953ca0d852463b511738f5fdc0f9d81d3faa36383b1d884adba", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.59
[INFO] [stderr]    Compiling unicode-ident v1.0.9
[INFO] [stderr]    Compiling quote v1.0.28
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking cc-traits v0.4.0 (https://github.com/axion014/cc-traits?branch=serde-json-map#52b16363)
[INFO] [stderr]    Compiling inline-json v0.1.0 (https://github.com/axion014/inline-json#62c1a59f)
[INFO] [stderr]     Checking json-trait v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/array.rs:38:2
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     where
[INFO] [stdout] 39 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout]    = note: `#[warn(deprecated_where_clause_location)]` on by default
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 38 ~     
[INFO] [stdout] 39 ~     = std::slice::Iter<'a, T> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/array.rs:49:2
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     where
[INFO] [stdout] 50 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 49 ~     
[INFO] [stdout] 50 ~     = std::slice::IterMut<'a, T> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/object.rs:41:2
[INFO] [stdout]    |
[INFO] [stdout] 41 | /     where
[INFO] [stdout] 42 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 41 ~     
[INFO] [stdout] 42 ~     = std::iter::Map<std::collections::hash_map::Iter<'a, String, T>, fn((&'a String, &'a T)) -> (&'a str, &'a T)> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/object.rs:52:2
[INFO] [stdout]    |
[INFO] [stdout] 52 | /     where
[INFO] [stdout] 53 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 52 ~     
[INFO] [stdout] 53 ~     = std::iter::Map<std::collections::hash_map::IterMut<'a, String, T>, fn((&'a String, &'a mut T)) -> (&'a str, &'a mut T)> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/array.rs:38:2
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     where
[INFO] [stdout] 39 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout]    = note: `#[warn(deprecated_where_clause_location)]` on by default
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 38 ~     
[INFO] [stdout] 39 ~     = std::slice::Iter<'a, T> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/object.rs:63:2
[INFO] [stdout]    |
[INFO] [stdout] 63 | /     where
[INFO] [stdout] 64 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 63 ~     
[INFO] [stdout] 64 ~     = std::iter::Map<std::collections::btree_map::Iter<'a, String, T>, fn((&'a String, &'a T)) -> (&'a str, &'a T)> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/object.rs:74:2
[INFO] [stdout]    |
[INFO] [stdout] 74 | /     where
[INFO] [stdout] 75 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 74 ~     
[INFO] [stdout] 75 ~     = std::iter::Map<std::collections::btree_map::IterMut<'a, String, T>, fn((&'a String, &'a mut T)) -> (&'a str, &'a mut T)> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/array.rs:49:2
[INFO] [stdout]    |
[INFO] [stdout] 49 | /     where
[INFO] [stdout] 50 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 49 ~     
[INFO] [stdout] 50 ~     = std::slice::IterMut<'a, T> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/object.rs:41:2
[INFO] [stdout]    |
[INFO] [stdout] 41 | /     where
[INFO] [stdout] 42 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 41 ~     
[INFO] [stdout] 42 ~     = std::iter::Map<std::collections::hash_map::Iter<'a, String, T>, fn((&'a String, &'a T)) -> (&'a str, &'a T)> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/object.rs:52:2
[INFO] [stdout]    |
[INFO] [stdout] 52 | /     where
[INFO] [stdout] 53 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 52 ~     
[INFO] [stdout] 53 ~     = std::iter::Map<std::collections::hash_map::IterMut<'a, String, T>, fn((&'a String, &'a mut T)) -> (&'a str, &'a mut T)> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/object.rs:63:2
[INFO] [stdout]    |
[INFO] [stdout] 63 | /     where
[INFO] [stdout] 64 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 63 ~     
[INFO] [stdout] 64 ~     = std::iter::Map<std::collections::btree_map::Iter<'a, String, T>, fn((&'a String, &'a T)) -> (&'a str, &'a T)> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: where clause not allowed here
[INFO] [stdout]   --> src/object.rs:74:2
[INFO] [stdout]    |
[INFO] [stdout] 74 | /     where
[INFO] [stdout] 75 | |         T: 'a
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: see issue #89122 <https://github.com/rust-lang/rust/issues/89122> for more information
[INFO] [stdout] help: move it to the end of the type declaration
[INFO] [stdout]    |
[INFO] [stdout] 74 ~     
[INFO] [stdout] 75 ~     = std::iter::Map<std::collections::btree_map::IterMut<'a, String, T>, fn((&'a String, &'a mut T)) -> (&'a str, &'a mut T)> where T: 'a;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_associated_types` has been stable since 1.65.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_associated_types, associated_type_bounds)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `generic_associated_types` has been stable since 1.65.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/lib.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(generic_associated_types, associated_type_bounds)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait MutableArray<T: ForeignMutableJson>:
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 26 |     + IntoIterator<Item = T> where <T as ForeignJson>::Object: MutableObject<T>
[INFO] [stdout]    |                              ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait MutableArray<T: ForeignMutableJson>:
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 26 |     + IntoIterator<Item = T> where <T as ForeignJson>::Object: MutableObject<T>
[INFO] [stdout]    |                              ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait MutableArray<T: ForeignMutableJson>:
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 26 |     + IntoIterator<Item = T> where <T as ForeignJson>::Array: MutableArray<T>
[INFO] [stdout]    |                              ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait MutableArray<T: ForeignMutableJson>:
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 26 |     + IntoIterator<Item = T> where <T as ForeignJson>::Array: MutableArray<T>
[INFO] [stdout]    |                              ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                        ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                        ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                        ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                        ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl<T: ForeignMutableJson> MutableArray<T> for Vec<T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait MutableArray<T: ForeignMutableJson>:
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Object: MutableObject<T>;
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait MutableArray<T: ForeignMutableJson>:
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Object: MutableObject<T>;
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait MutableArray<T: ForeignMutableJson>:
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Array: MutableArray<T>;
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/array.rs:17:27
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait MutableArray<T: ForeignMutableJson>:
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Array: MutableArray<T>;
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait MutableObject<T: ForeignMutableJson>:
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Object<T> + for<'a> GetMut<&'a str> + MapInsert<String> + for<'a> Remove<&'a str> + Clear + IntoIterator<Item = (String, T)> where <T as ForeignJson>::Object: MutableObject<T>
[INFO] [stdout]    |                                                                                                                                  ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait MutableObject<T: ForeignMutableJson>:
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Object<T> + for<'a> GetMut<&'a str> + MapInsert<String> + for<'a> Remove<&'a str> + Clear + IntoIterator<Item = (String, T)> where <T as ForeignJson>::Object: MutableObject<T>
[INFO] [stdout]    |                                                                                                                                  ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait MutableObject<T: ForeignMutableJson>:
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Object<T> + for<'a> GetMut<&'a str> + MapInsert<String> + for<'a> Remove<&'a str> + Clear + IntoIterator<Item = (String, T)> where <T as ForeignJson>::Array: MutableArray<T>
[INFO] [stdout]    |                                                                                                                                  ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait MutableObject<T: ForeignMutableJson>:
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Object<T> + for<'a> GetMut<&'a str> + MapInsert<String> + for<'a> Remove<&'a str> + Clear + IntoIterator<Item = (String, T)> where <T as ForeignJson>::Array: MutableArray<T>
[INFO] [stdout]    |                                                                                                                                  ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn with_str_key_mut<'a, T: ForeignMutableJson>(entry: (&'a String, &'a mut T)) -> (&'a str, &'a mut T) {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn with_str_key_mut<'a, T: ForeignMutableJson>(entry: (&'a String, &'a mut T)) -> (&'a str, &'a mut T) where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                                                                        ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn with_str_key_mut<'a, T: ForeignMutableJson>(entry: (&'a String, &'a mut T)) -> (&'a str, &'a mut T) {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn with_str_key_mut<'a, T: ForeignMutableJson>(entry: (&'a String, &'a mut T)) -> (&'a str, &'a mut T) where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                                                                        ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn with_str_key_mut<'a, T: ForeignMutableJson>(entry: (&'a String, &'a mut T)) -> (&'a str, &'a mut T) {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn with_str_key_mut<'a, T: ForeignMutableJson>(entry: (&'a String, &'a mut T)) -> (&'a str, &'a mut T) where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                                                                        ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn with_str_key_mut<'a, T: ForeignMutableJson>(entry: (&'a String, &'a mut T)) -> (&'a str, &'a mut T) {
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn with_str_key_mut<'a, T: ForeignMutableJson>(entry: (&'a String, &'a mut T)) -> (&'a str, &'a mut T) where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                                                                        ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                                     ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                                     ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                                     ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                                     ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                                      ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                                      ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                                      ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                                      ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<T: ForeignMutableJson> MutableObject<T> for HashMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait MutableObject<T: ForeignMutableJson>:
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Object: MutableObject<T>;
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait MutableObject<T: ForeignMutableJson>:
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Array: MutableArray<T>;
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/lib.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub enum Mutable<'a, T: ForeignMutableJson> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub enum Mutable<'a, T: ForeignMutableJson> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T: ForeignMutableJson> MutableObject<T> for BTreeMap<String, T> {
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 78 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/lib.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub enum Mutable<'a, T: ForeignMutableJson> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub enum Mutable<'a, T: ForeignMutableJson> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:108:20
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub enum Owned<T: ForeignMutableJson> {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:51
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub enum Owned<T: ForeignMutableJson> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait MutableObject<T: ForeignMutableJson>:
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Object: MutableObject<T>;
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:108:20
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub enum Owned<T: ForeignMutableJson> {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:79
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub enum Owned<T: ForeignMutableJson> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/object.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub trait MutableObject<T: ForeignMutableJson>:
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn iter_mut(&mut self) -> Self::IterMut<'_> where <T as ForeignJson>::Array: MutableArray<T>;
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:51
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]     |                                                          ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]   --> src/lib.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub enum Mutable<'a, T: ForeignMutableJson> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:51
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub enum Mutable<'a, T: ForeignMutableJson> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:79
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]     |                                                          ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]   --> src/lib.rs:99:26
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub enum Mutable<'a, T: ForeignMutableJson> {
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]   --> src/lib.rs:37:79
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub enum Mutable<'a, T: ForeignMutableJson> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]    |                                                 ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:108:20
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub enum Owned<T: ForeignMutableJson> {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:51
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub enum Owned<T: ForeignMutableJson> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:108:20
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub enum Owned<T: ForeignMutableJson> {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:79
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub enum Owned<T: ForeignMutableJson> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]     |                                           ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:51
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]     |                                                          ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:79
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]     |                                                          ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: Clone` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `Clone` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:59:22
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] 59  |     ForeignJson<Object: Clone, Array: Clone>
[INFO] [stdout]     |                         ^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as ForeignJson>::Object: Clone {
[INFO] [stdout]     |                                                          +++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: Clone` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `Clone` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:59:36
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] 59  |     ForeignJson<Object: Clone, Array: Clone>
[INFO] [stdout]     |                                       ^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as ForeignJson>::Array: Clone {
[INFO] [stdout]     |                                                          ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as FromStr>::Err: std::error::Error` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `std::error::Error` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:27
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as FromStr>::Err: std::error::Error {
[INFO] [stdout]     |                                                          ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `<T as FromStr>::Err` cannot be sent between threads safely
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ `<T as FromStr>::Err` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:47
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                                                  ^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as FromStr>::Err: Send {
[INFO] [stdout]     |                                                          +++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `<T as FromStr>::Err` cannot be shared between threads safely
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ `<T as FromStr>::Err` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:54
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                                                         ^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as FromStr>::Err: Sync {
[INFO] [stdout]     |                                                          +++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:51
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]     |                                        ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:79
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]     |                                        ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: Clone` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `Clone` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:59:22
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] 59  |     ForeignJson<Object: Clone, Array: Clone>
[INFO] [stdout]     |                         ^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as ForeignJson>::Object: Clone {
[INFO] [stdout]     |                                        +++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: Clone` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `Clone` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:59:22
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] 59  |     ForeignJson<Object: Clone, Array: Clone>
[INFO] [stdout]     |                         ^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as ForeignJson>::Object: Clone {
[INFO] [stdout]     |                                                          +++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: Clone` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `Clone` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:59:36
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] 59  |     ForeignJson<Object: Clone, Array: Clone>
[INFO] [stdout]     |                                       ^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as ForeignJson>::Array: Clone {
[INFO] [stdout]     |                                        ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as FromStr>::Err: std::error::Error` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `std::error::Error` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:27
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as FromStr>::Err: std::error::Error {
[INFO] [stdout]     |                                        ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: Clone` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `Clone` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:59:36
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] 59  |     ForeignJson<Object: Clone, Array: Clone>
[INFO] [stdout]     |                                       ^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as ForeignJson>::Array: Clone {
[INFO] [stdout]     |                                                          ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `<T as FromStr>::Err` cannot be sent between threads safely
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ `<T as FromStr>::Err` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:47
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                                                  ^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as FromStr>::Err: Send {
[INFO] [stdout]     |                                        +++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `<T as FromStr>::Err` cannot be shared between threads safely
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ `<T as FromStr>::Err` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:54
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                                                         ^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as FromStr>::Err: Sync {
[INFO] [stdout]     |                                        +++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as FromStr>::Err: std::error::Error` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `std::error::Error` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:27
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as FromStr>::Err: std::error::Error {
[INFO] [stdout]     |                                                          ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `<T as FromStr>::Err` cannot be sent between threads safely
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ `<T as FromStr>::Err` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:47
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                                                  ^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as FromStr>::Err: Send {
[INFO] [stdout]     |                                                          +++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `<T as FromStr>::Err` cannot be shared between threads safely
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ `<T as FromStr>::Err` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:54
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                                                         ^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> where <T as FromStr>::Err: Sync {
[INFO] [stdout]     |                                                          +++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: MutableObject<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ the trait `MutableObject<T>` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:51
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as ForeignJson>::Object: MutableObject<T> {
[INFO] [stdout]     |                                        ++++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: MutableArray<T>` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ the trait `MutableArray<T>` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `ForeignMutableJson`
[INFO] [stdout]    --> src/lib.rs:37:79
[INFO] [stdout]     |
[INFO] [stdout] 37  | pub trait ForeignMutableJson: ForeignJson<Object: MutableObject<Self>, Array: MutableArray<Self>> {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^^^^^^^^^ required by this bound in `ForeignMutableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as ForeignJson>::Array: MutableArray<T> {
[INFO] [stdout]     |                                        ++++++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Object: Clone` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `Clone` is not implemented for `<T as ForeignJson>::Object`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:59:22
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] 59  |     ForeignJson<Object: Clone, Array: Clone>
[INFO] [stdout]     |                         ^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as ForeignJson>::Object: Clone {
[INFO] [stdout]     |                                        +++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 40 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as ForeignJson>::Array: Clone` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `Clone` is not implemented for `<T as ForeignJson>::Array`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:59:36
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] 59  |     ForeignJson<Object: Clone, Array: Clone>
[INFO] [stdout]     |                                       ^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as ForeignJson>::Array: Clone {
[INFO] [stdout]     |                                        ++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `<T as FromStr>::Err: std::error::Error` is not satisfied
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ the trait `std::error::Error` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:27
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as FromStr>::Err: std::error::Error {
[INFO] [stdout]     |                                        ++++++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `<T as FromStr>::Err` cannot be sent between threads safely
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ `<T as FromStr>::Err` cannot be sent between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Send` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:47
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                                                  ^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as FromStr>::Err: Send {
[INFO] [stdout]     |                                        +++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `<T as FromStr>::Err` cannot be shared between threads safely
[INFO] [stdout]    --> src/lib.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |     impl<T: ForeignMutableJson + BuildableJson> Owned<T> {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ `<T as FromStr>::Err` cannot be shared between threads safely
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Sync` is not implemented for `<T as FromStr>::Err`
[INFO] [stdout] note: required by a bound in `BuildableJson`
[INFO] [stdout]    --> src/lib.rs:77:54
[INFO] [stdout]     |
[INFO] [stdout] 58  | pub trait BuildableJson:
[INFO] [stdout]     |           ------------- required by a bound in this trait
[INFO] [stdout] ...
[INFO] [stdout] 77  |     + std::str::FromStr<Err: std::error::Error + Send + Sync + 'static>
[INFO] [stdout]     |                                                         ^^^^ required by this bound in `BuildableJson`
[INFO] [stdout] help: consider further restricting the associated type
[INFO] [stdout]     |
[INFO] [stdout] 118 |         pub fn into_untyped(self) -> T where <T as FromStr>::Err: Sync {
[INFO] [stdout]     |                                        +++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 40 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `json-trait` (lib test) due to 41 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `json-trait` (lib) due to 41 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f63ac2ab5704f953ca0d852463b511738f5fdc0f9d81d3faa36383b1d884adba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f63ac2ab5704f953ca0d852463b511738f5fdc0f9d81d3faa36383b1d884adba", kill_on_drop: false }`
[INFO] [stdout] f63ac2ab5704f953ca0d852463b511738f5fdc0f9d81d3faa36383b1d884adba
